﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Problema1
{
    public class PoolPersoane
    {
        private int nrPersoane;
        private Queue<persoana> persoane;
        public persoana getPersoana(string nume)
        {
            persoana ret=null;
            for (int i = 0; i < persoane.Count<persoana>(); i++)
            {
                ret = persoane.Dequeue();
                if (ret.areNumele(nume) == false)
                {
                    persoane.Enqueue(ret);
                    ret = persoane.Dequeue();
                }
                else
                {
                    persoane.Enqueue(ret);
                    break;
                }
            }
            return ret;            
        }
        public persoana getPersoana()
        {
            if (persoane.Count<persoana>() > 0)
            {
                persoana r = persoane.Dequeue();
                persoane.Enqueue(r);
                return r; 
            }
            else return null;
        }
        public void addPersoana(persoana x)
        {
            persoane.Enqueue(x);
            nrPersoane = persoane.Count<persoana>();
        }
        public int getSize()
        {
            return nrPersoane;
        }
        public PoolPersoane()
        {
            persoane = new Queue<persoana>();
        }
    }
}
